package su.storage.dao;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import net.kuakao.core.dto.PagerDTO;
import su.storage.entity.StorageProduct;

/**
 * 产品仓库
 * @作者 autopub
 * @创建日期 2012-09-01
 * @版本 V 1.0
 *
 */
public interface IStorageProductDAO {
	
	/**
	 * 产品仓库分页查询
	 * @param s 查询条件
	 * @return 产品仓库列表
	 * @throws SQLException
	 */
	public List<StorageProduct> queryByPage(PagerDTO s) throws SQLException;
	
	/**
	 * 查询单个产品仓库对象
	 * @param id
	 * @return 产品仓库
	 * @throws SQLException
	 */
	public StorageProduct getById(int id) throws SQLException;
	
	/**
	 * 创建产品仓库
	 * @param o 产品仓库实体类
	 * @throws SQLException
	 */
	public void insert(StorageProduct o) throws SQLException;
	
	/**
	 * 更新产品仓库
	 * @param o 产品仓库实体类
	 * @throws SQLException
	 */
	public void update(StorageProduct o) throws SQLException;
	
	/**
	 * 删除产品仓库
	 * @param id 产品仓库ID
	 * @throws SQLException
	 */
	public void remove(int id) throws SQLException;

	/**
	 * 修改特定时间后的所有即时库存（增量）
	 * @param productid 产品id
	 * @param reduce 增量
	 * @param afterDate 创建时间
	 * @throws Exception
	 */
	public void updateTotalAfter(int productid,double reduce,Date afterDate)throws Exception;
}

